; DE TERMINAT ACASA

(deftemplate CreditBanca
    (slot stringIntrebare)
    (slot raspuns)
    )


(assert (CreditBanca (stringIntrebare nil)(raspuns nil)))

(defrule q1
(CreditBanca (stringIntrebare nil)(raspuns nil))
=>
(printout t "Sunteti angajat pe perioada nedeterminata ? (DA/NU)" crlf)
(bind ?r (read))
(assert (CreditBanca (stringIntrebare "Sunteti angajat pe perioada nedeterminata")(raspuns ?r)))
)

(defrule q2
(CreditBanca (stringIntrebare "Sunteti angajat pe perioada nedeterminata")(raspuns NU))
=>
(printout t "Nu vi se poate acorda credit. " crlf)
) 

(defrule q3
(CreditBanca (stringIntrebare "Sunteti angajat pe perioada nedeterminata")(raspuns DA))
=>
(printout t "Mai aveti alte credite ? (DA/NU)" crlf)
(bind ?r (read))
(assert (CreditBanca (stringIntrebare "Mai aveti alte credite")(raspuns ?r)))
)

(defrule q4
(CreditBanca (stringIntrebare "Mai aveti alte credite")(raspuns DA))
=>
(printout t "Nu vi se poate acorda credit. " crlf)
)

(defrule q5
(CreditBanca (stringIntrebare "Mai aveti alte credite")(raspuns NU))
=>
(printout t "Ce varsta aveti ? (<21/22-25/25-30/30-45/>50)" crlf)
(bind ?r (read))
(assert (CreditBanca (stringIntrebare "Ce varsta aveti")(raspuns ?r)))
)

(defrule q6
(CreditBanca (stringIntrebare "Ce varsta aveti")(raspuns <21))
=>
(printout t "Nu vi se poate acorda credit. " crlf)
)

(defrule q7
(CreditBanca (stringIntrebare "Ce varsta aveti")(raspuns >50))
=>
(printout t "Nu vi se poate acorda credit. " crlf)
)

(defrule q8
(CreditBanca (stringIntrebare "Ce varsta aveti")(raspuns 22-25))
=>
(printout t "Care este venitul dumneavoastra ? (<1500/1500-20000/20000-30000/>30000)" crlf)
(bind ?r (read))
(assert (CreditBanca (stringIntrebare "Care este venitul dumneavoastra")(raspuns ?r)))
)

(defrule q9
(CreditBanca (stringIntrebare "Ce varsta aveti")(raspuns 25-30))
=>
(printout t "Care este venitul dumneavoastra ? (<1500/1500-20000/20000-30000/>30000)" crlf)
(bind ?r (read))
(assert (CreditBanca (stringIntrebare "Care este venitul dumneavoastra")(raspuns ?r)))
)

(defrule q10
(CreditBanca (stringIntrebare "Ce varsta aveti")(raspuns 30-45))
=>
(printout t "Care este venitul dumneavoastra ? (<1500/1500-20000/20000-30000/>30000)" crlf)
(bind ?r (read))
(assert (CreditBanca (stringIntrebare "Care este venitul dumneavoastra")(raspuns ?r)))
)

(defrule q11
(CreditBanca (stringIntrebare "Care este venitul dumneavoastra")(raspuns <1500))
=>
(printout t "Nu vi se poate acorda credit" crlf)
)
 
(defrule q12
(CreditBanca (stringIntrebare "Care este venitul dumneavoastra")(raspuns 1500-20000))
=>
(printout t "Creditul va este acordat." crlf)
)

(defrule q13
(CreditBanca (stringIntrebare "Care este venitul dumneavoastra")(raspuns 20000-30000))
=>
(printout t "Creditul va este acordat." crlf)
)

(defrule q14
(CreditBanca (stringIntrebare "Care este venitul dumneavoastra")(raspuns >3000))
=>
(printout t "Creditul va este acordat" crlf)
)

(run)